package com.tong.hao.common.configuration.sftp;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @ClassName SftpConfig
 * @Author 友野浩二
 * @Date 2019/11/30 10:52
 * @Description SFTP配置
 * @Version 1.0
 *
 * <pre>
 *     @Configuration :
 *              从Spring3.0，用于定义配置类，可替换xml配置文件。
 *              被注解的类内部包含有一个或多个被@Bean注解的方法，
 *              这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描，并用于构建bean定义，初始化Spring容器。
 *     @ConfigurationProperties ：
 *              告诉springboot将本类中所有属性和配置文件中相关的配置进行绑定；
 *              prefix="sftp.tong"：指出将配置文件中sftp.tong下的所有属性进行一一映射；
 * </pre>
 */
@Configuration
@Slf4j
public class SftpConfig {

    SftpConfig() {
        log.info("Create SftpConfig");
    }

    @ConfigurationProperties(prefix = "sftp.tong")
    @Bean(initMethod = "init")
    public TongSftpConfig tongSftpConfig() {
        return new TongSftpConfig();
    }

}
